﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Entity = VietStar.Library.Entity;
using Business = VietStar.Library.Business;
using System.IO;
using Commom = VietStar.Library.Commom;


public partial class controls_admin_addtainguyen : System.Web.UI.UserControl
{
    Commom.Algorithm.RandomString sinhchuoi = new VietStar.Library.Commom.Algorithm.RandomString();
    string chuoi = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
    Entity.HeDieuHanh clsE_HeDieuHanh = new VietStar.Library.Entity.HeDieuHanh();
    Business.HeDieuHanh clsB_HeDieuHanh = new VietStar.Library.Business.HeDieuHanh();
    Entity.Driver clsE_Driver = new VietStar.Library.Entity.Driver();
    Business.Driver clsB_Driver = new VietStar.Library.Business.Driver();
    Entity.TaiNguyen clsE_TaiNguyen = new VietStar.Library.Entity.TaiNguyen();
    Business.TaiNguyen clsB_TaiNguyen = new VietStar.Library.Business.TaiNguyen();
    Entity.NhaSanXuat clsE_NhaSanXuat = new VietStar.Library.Entity.NhaSanXuat();
    Business.NhaSanXuat clsB_NhaSanXuat = new VietStar.Library.Business.NhaSanXuat();
    DataTable dtTaiNguyen = new DataTable();
    string action;
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Alert.Load_DropDownList(ddlNhaSanXuat, clsB_NhaSanXuat.Select(), "TenNhaSanXuat", "Id", "------Chọn nhà sản xuất------");
            Alert.Load_DropDownList(ddlDriver, clsB_Driver.Select(), "TenDriver", "Id", "------Chọn driver + phần mềm------");
            Load_HeDieuHanh(0);
            LoadTaiNguyen();
        }

    }
    private void Load_HeDieuHanh(int IdHeDieuHanh)
    {
        clsE_HeDieuHanh.Id = IdHeDieuHanh;
        DataTable dt = clsB_HeDieuHanh.SelectTheoCap(clsE_HeDieuHanh);
        if (dt.Rows.Count > 0)
        {
            foreach (DataRow dr in dt.Rows)
            {
                int id = (int)dr["Id"];
                string name = dr["Ten"].ToString();
                int level = (int)dr["Cap"];
                string sub = "";
                for (int i = 1; i <= level; i++)
                {
                    sub += "---";
                }
                name = sub + name;
                ListItem item = new ListItem(name, id.ToString());
                ddlHeDieuHanh.Items.Add(item);
                Load_HeDieuHanh(id);
            }
        }
    }
    private void LoadTaiNguyen()
    {
        action = Request.QueryString["action"].ToString();
        if (action == "add")
        {
            imgTaiNguyen.Visible = false;
            lbTittle.Text = "Thêm sản phẩm";
        }
        if (action == "edit")
        {
            imgTaiNguyen.Visible = true;
            lbTittle.Text = "Sửa thông tin sản phẩm";
            int info = Convert.ToInt32(Request.QueryString["info"].ToString());
            clsE_TaiNguyen.Id = info;
            DataTable dstn = clsB_TaiNguyen.SelectPrimarykey(clsE_TaiNguyen);
            ddlDriver.SelectedValue = dstn.Rows[0]["IdDriver"].ToString();
            ddlHeDieuHanh.SelectedValue = dstn.Rows[0]["IdHeDieuHanh"].ToString();
            ddlNhaSanXuat.SelectedValue = dstn.Rows[0]["IdNhaSanXuat"].ToString();
            txtTenThietBi.Text = dstn.Rows[0]["TenThietBi"].ToString();
            txtNgayViet.Text = dstn.Rows[0]["NgayDang"].ToString();
            txtLink.Text = dstn.Rows[0]["Link"].ToString();
            lbTenHinh.Text = dstn.Rows[0]["HinhAnh"].ToString();
            imgTaiNguyen.ImageUrl = "~/images/tainguyen/" + dstn.Rows[0]["HinhAnh"].ToString();
            if (Convert.ToBoolean(dstn.Rows[0]["TrangThai"].ToString()) == true)
            {
                ddlTrangThai.SelectedValue = "1";
            }
            else
            { ddlTrangThai.SelectedValue = "0"; }
            fckNoiDung.Value = dstn.Rows[0]["NoiDung"].ToString();
        }

    }
    private bool check(string save)
    {
        bool kiemtra = true;
        if (save != "edit")
        {
            if (fuHinhAnh.FileName == "")
            { Alert.Show("Bạn chưa chọn hình ảnh cho thiết bị !!!"); kiemtra = false; }
        }
        else if (txtTenThietBi.Text == "")
        { Alert.Show("Bạn chưa nhập tên tài nguyên !!!"); kiemtra = false; }
        else if (txtLink.Text == "")
        { Alert.Show("Bạn chưa nhập link download cho thiết bị!!!"); kiemtra = false; }
        else if (ddlDriver.SelectedValue == "0")
        { Alert.Show("Bạn chưa chọn driver cho thiết bị !!!"); kiemtra = false; }
        else if (ddlTrangThai.SelectedValue == "2")
        { Alert.Show("Bạn chưa chọn trạng thái cho thiết bị !!!"); kiemtra = false; }
        else if (ddlHeDieuHanh.SelectedValue == "0")
        { Alert.Show("Bạn chưa chọn hệ điều hành cho thiết bị !!! "); kiemtra = false; }
        else if (ddlNhaSanXuat.SelectedValue == "0")
        { Alert.Show("Bạn chưa chọn nhà sản xuất cho thiết bị !!! "); kiemtra = false; }
        else if (fckNoiDung.Value == "")
        { Alert.Show("Bạn chưa nhập nội dung cho thiết bị !!! "); kiemtra = false; }
        return kiemtra;
    }

    protected void btnLuu_Click(object sender, EventArgs e)
    {
        action = Request.QueryString["action"].ToString();
        string tenhinh = "";
        try
        {
            bool save = false;
            clsE_TaiNguyen.Id = Convert.ToInt32(Request.QueryString["info"].ToString());
            clsE_TaiNguyen.IdDriver = Int32.Parse(ddlDriver.SelectedValue);
            clsE_TaiNguyen.IdHeDieuHanh = Int32.Parse(ddlHeDieuHanh.SelectedValue);
            clsE_TaiNguyen.IdNhaSanXuat = Int32.Parse(ddlNhaSanXuat.SelectedValue);
            clsE_TaiNguyen.Link = txtLink.Text;
            clsE_TaiNguyen.LuotTai = 0;
            clsE_TaiNguyen.NgayDang = Convert.ToDateTime(txtNgayViet.Text);
            clsE_TaiNguyen.NguoiDang = "admin";
            clsE_TaiNguyen.NoiDung = fckNoiDung.Value;
            clsE_TaiNguyen.TenThietBi = txtTenThietBi.Text;
            clsE_TaiNguyen.TrangThai = Convert.ToBoolean(Convert.ToInt32(ddlTrangThai.SelectedValue));
            if (check(action))
            {
                if (action == "add")
                {
                    tenhinh=clsE_TaiNguyen.HinhAnh = sinhchuoi.GenerateRandomString(4,chuoi)+ fuHinhAnh.FileName;
                    fuHinhAnh.SaveAs(Server.MapPath("~/images/tainguyen/"+tenhinh));
                    save=clsB_TaiNguyen.Insert(clsE_TaiNguyen);
                    if (save)
                    {
                        Alert.Show("Thêm tài nguyên mới thành công !!!!");
                    }
                    else
                    {
                        Alert.Show("Thêm tài nguyên mới không thành công !!!!");
                    }
                }
                if (action == "edit")
                {
                    if (fuHinhAnh.FileName != "")
                    {
                        File.Delete(Server.MapPath("~/images/tainguyen/" + lbTenHinh.Text));
                        tenhinh = sinhchuoi.GenerateRandomString(4, chuoi) + fuHinhAnh.FileName;
                        fuHinhAnh.SaveAs(Server.MapPath("~/images/tainguyen/" + tenhinh));
                        clsE_TaiNguyen.HinhAnh = tenhinh;
                    }
                    else
                    { clsE_TaiNguyen.HinhAnh = lbTenHinh.Text; }
                    save = clsB_TaiNguyen.Update(clsE_TaiNguyen);
                    if (save)
                    {
                        Alert.Show("Sửa thông tin tài nguyên thành công !!!!");
                    }
                    else
                    {
                        Alert.Show("Sửa thông tin tài nguyên không thành công !!!!");
                    }
                }
            }
        }
        catch
        {}
    }
    protected void btnquaylai_Click(object sender, EventArgs e)
    {
        Response.Redirect("~/admin/listtainguyen.aspx");
    }
    protected void btnThemNSX_Click(object sender, EventArgs e)
    {
        setVisibleNhaSanXuat(true);
        txtNhaSanXuat.Text = "";
        lbllogic.Visible = false;
    }
    private void setVisibleNhaSanXuat(bool set)
    {
        btnThemNSX.Visible = !set;
        btnXoaNSX.Visible = !set;
        btnSuaNSX.Visible = !set;
        ddlNhaSanXuat.Visible = !set;
        btnLuuNSX.Visible = set;
        btnTroVe.Visible = set;
        txtNhaSanXuat.Visible = set;
    }
    protected void btnTroVe_Click(object sender, EventArgs e)
    {
        setVisibleNhaSanXuat(false);
    }
    protected void btnXoaNSX_Click(object sender, EventArgs e)
    {
        try
        {
            bool delete = false,delete1=false;
            if (ddlNhaSanXuat.SelectedValue != "0")
            {
                clsE_NhaSanXuat.Id = Convert.ToInt32(ddlNhaSanXuat.SelectedValue);
                clsE_TaiNguyen.IdNhaSanXuat = Convert.ToInt32(ddlNhaSanXuat.SelectedValue);
                DataTable dt = clsB_TaiNguyen.SelectTheoNhaSanXuat(clsE_TaiNguyen);
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    File.Delete(Server.MapPath("~/images/tainguyen/" + dt.Rows[i]["HinhAnh"].ToString()));
                }
                dt = null;
                delete1 = clsB_TaiNguyen.Delete_TheoNhaSanXuat(clsE_TaiNguyen);
                delete = clsB_NhaSanXuat.Delete(clsE_NhaSanXuat);
                if (delete==true && delete1==true)
                {
                    Alert.Show("Xóa nhà sản xuất thành công!");
                    Alert.Load_DropDownList(ddlNhaSanXuat, clsB_NhaSanXuat.Select(), "TenNhaSanXuat", "Id", "------Chọn nhà sản xuất------");
                    Alert.Load_DropDownList(ddlDriver, clsB_Driver.Select(), "TenDriver", "Id", "------Chọn driver + phần mềm------");
                    Load_HeDieuHanh(0);
                    txtLink.Text = "";
                    txtTenThietBi.Text = "";
                    txtNhaSanXuat.Text = "";
                    ddlTrangThai.SelectedValue = "2";
                    fckNoiDung.Value = "";
                }
                else
                { Alert.Show("Xóa nhà sản xuất không thành công!"); }
            }
            else
            { Alert.Show("Bạn chưa chọn nhà sản xuất cần xóa"); }
        }
        catch
        { }
    }
    protected void btnLuuNSX_Click(object sender, EventArgs e)
    {
        try
        {
            bool save = false;
            if (lbllogic.Visible == false)
            {
                clsE_NhaSanXuat.TenNhaSanXuat = txtNhaSanXuat.Text;
                save = clsB_NhaSanXuat.Insert(clsE_NhaSanXuat);
                if (save == true)
                {
                    Alert.Show("Thêm mới nhà sản xuất thành công");
                    Alert.Load_DropDownList(ddlNhaSanXuat, clsB_NhaSanXuat.Select(), "TenNhaSanXuat", "Id", "------Chọn nhà sản xuất------");
                    setVisibleNhaSanXuat(false);
                }
                else
                {
                    Alert.Show("Thêm mới nhà sản xuất không thành công");

                    return;
                }
            }
            else
            {
                clsE_NhaSanXuat.Id = Convert.ToInt32(ddlNhaSanXuat.SelectedValue);
                clsE_NhaSanXuat.TenNhaSanXuat = txtNhaSanXuat.Text;
                save = clsB_NhaSanXuat.Update(clsE_NhaSanXuat);
                if (save)
                {
                    Alert.Show("Cập nhật thông tin nhà sản xuất thành công !!!");
                    Alert.Load_DropDownList(ddlNhaSanXuat, clsB_NhaSanXuat.Select(), "TenNhaSanXuat", "Id", "------Chọn nhà sản xuất------");
                    setVisibleNhaSanXuat(false);
                    ddlNhaSanXuat.SelectedValue = clsE_NhaSanXuat.Id.ToString();
                }
                else
                {
                    Alert.Show("Cập nhật thông tin nhà sản xuất không thành công !!!");
                    setVisibleNhaSanXuat(false);
                }
            }
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }
    protected void Lich_SelectionChanged(object sender, EventArgs e)
    {
        txtNgayViet.Text = Lich.SelectedDate.ToString();
        Lich.Visible = false;
    }
    protected void btnLich_Click(object sender, EventArgs e)
    {
        Lich.Visible =!Lich.Visible;
    }
    protected void btnSuaNSX_Click(object sender, EventArgs e)
    {
        setVisibleNhaSanXuat(true);
        lbllogic.Visible = true;
    }
    protected void ddlNhaSanXuat_SelectedIndexChanged(object sender, EventArgs e)
    {
        clsE_NhaSanXuat.Id = Convert.ToInt32(ddlNhaSanXuat.SelectedValue);
        DataTable dt = clsB_NhaSanXuat.SelectPrimaryKey(clsE_NhaSanXuat);
        txtNhaSanXuat.Text = dt.Rows[0]["TenNhaSanXuat"].ToString();
    }
}
